package MethodDemo;
/**
 * 方法递归： 方法自身调用自身
 *
 * 注意： 1使用方法递归，必须添加结束条件，没有结束条件，会发生栈内存溢出错误（一直压栈，没有弹栈）
 *      2.能够使用循环语句代替递归，优先使用循环语句，只有在只能用递归的条件下，再用递归
 *      3.递归结束条件合法时，也可能出现内存溢出情况 原因： 递归太深，栈内存溢出。
 *      4.在开发中遇到栈内存溢出错误怎么办：
 *      （1）先检查结束条件是否正确
 *      （2）如果正确，可以调整jvm中的栈内存大小
 */
public class Demo04 {
    public static void main(String[] args) {
        doSome();
    }
    public static void doSome(){
        System.out.println("doSome begin");
        // 调用方法：doSome()既然是一个方法，那么doSome方法可以调用吗？当然可以。
        // 目前这个递归是没有结束条件的，会出现什么问题？
        doSome();
        // 这行代码永远执行不到。
        System.out.println("doSome over");
    }
}
